﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LetsGoToSchool
{
    public class ProgressDataNode
    {

        //Overall Stats
        private TimeSpan _totalPlaytime;
        public TimeSpan _TotalPlaytime { get { return _totalPlaytime; } set { _totalPlaytime = value; } }
        private TimeSpan _totalMemoryPlaytime;
        public TimeSpan _TotalMemoryPlaytime { get { return _totalMemoryPlaytime; } set { _totalMemoryPlaytime = value; } }
        private TimeSpan _totalMusicPlaytime;
        public TimeSpan _TotalMusicPlaytime { get { return _totalMusicPlaytime; } set { _totalMusicPlaytime = value; } }
        private TimeSpan _totalDoodlePlaytime;
        public TimeSpan _TotalDoodlePlaytime { get { return _totalDoodlePlaytime; } set { _totalDoodlePlaytime = value; } }
        private int _totalSessions;
        public int _TotalSessions { get { return _totalSessions; } set { _totalSessions = value; } }
        private int _totalMemorySessions;
        public int _TotalMemorySessions { get { return _totalMemorySessions; } set { _totalMemorySessions = value; } }
        private int _totalMusicSessions;
        public int _TotalMusicSessions { get { return _totalMusicSessions; } set { _totalMusicSessions = value; } }
        private int _totalDoodleSessions;
        public int _TotalDoodleSessions { get { return _totalDoodleSessions; } set { _totalDoodleSessions = value; } }

        /*//Memory stats
        private TimeSpan _fastestTime;
        private TimeSpan _averageTime;
        private double _averageMoves;

        //Music stats
        private string _bestSong;
        private string _favoriteSong;
        private double _bestAccuracy;
        private double _averageAccuracy;*/

        //overall Stats



        //memory stats
        //fastest time
        private TimeSpan e_fastestTime;
        public TimeSpan E_FastestTime { get { return e_fastestTime; } set { e_fastestTime = value; } }
        private TimeSpan m_fastestTime;
        public TimeSpan M_FastestTime { get { return m_fastestTime; } set { m_fastestTime = value; } }
        private TimeSpan h_fastestTime;
        public TimeSpan H_FastestTime { get { return h_fastestTime; } set { h_fastestTime = value; } }
        //average time
        private TimeSpan e_averageTime;
        public TimeSpan E_AverageTime { get { return e_averageTime; } set { e_averageTime = value; } }
        private TimeSpan m_averageTime;
        public TimeSpan M_AverageTime { get { return m_averageTime; } set { m_averageTime = value; } }
        private TimeSpan h_averageTime;
        public TimeSpan H_AverageTime { get { return h_averageTime; } set { h_averageTime = value; } }
        //averageMoves
        private double e_averageMoves;
        public double E_AverageMoves { get { return e_averageMoves; } set { e_averageMoves = value; } }
        private double m_averageMoves;
        public double M_AverageMoves { get { return m_averageMoves; } set { m_averageMoves = value; } }
        private double h_averageMoves;
        public double H_AverageMoves { get { return h_averageMoves; } set { h_averageMoves = value; } }

        //musicStats
        //best song
        private string bestSong;
        public string BestSong { get { return bestSong; } set { bestSong = value; } }

        //favorite song
        private string favoriteSong;
        public string FavoriteSong { get { return favoriteSong; } set { favoriteSong = value; } }
        private string m_favoriteSong;

        //bestAccuracy
        private double bestAccuracy;
        public double BestAccuracy { get { return bestAccuracy; } set { bestAccuracy = value; } }

        //average accuracy
        private double averageAccuracy;
        public double AverageAccuracy { get { return averageAccuracy; } set { averageAccuracy = value; } }


        public TimeSpan getTotalPlaytime() { return _totalPlaytime; }
        public TimeSpan getTotalMemoryPlaytime() { return _totalMemoryPlaytime; }
        public TimeSpan getTotalMusicPlaytime() { return _totalMusicPlaytime; }
        public TimeSpan getTotalDoodePlaytime() { return _totalDoodlePlaytime; }
        public int getTotalSessions() { return _totalSessions; }
        public int getTotalMemorySessions() { return _totalMemorySessions; }
        public int getTotalMusicSessions() { return _totalMusicSessions; }
        public int getTotalDoodleSessions() { return _totalDoodleSessions; }

        public void printData()
        {
            Console.WriteLine(_totalPlaytime);
            Console.WriteLine(_totalMemoryPlaytime);
            Console.WriteLine(_totalMusicPlaytime);
            Console.WriteLine(_totalDoodlePlaytime);
            Console.WriteLine(_totalSessions);
            Console.WriteLine(_totalMemorySessions);
            Console.WriteLine(_totalMusicSessions);
            Console.WriteLine(_totalDoodleSessions);
            Console.WriteLine(e_fastestTime);
            Console.WriteLine(m_fastestTime);
            Console.WriteLine(h_fastestTime);
            Console.WriteLine(e_averageTime);
            Console.WriteLine(m_averageTime);
            Console.WriteLine(h_averageTime);
            Console.WriteLine(e_averageMoves);
            Console.WriteLine(m_averageMoves);
            Console.WriteLine(h_averageMoves);
            Console.WriteLine(bestSong);
            Console.WriteLine(favoriteSong);
            Console.WriteLine(bestAccuracy);
            Console.WriteLine(averageAccuracy);

        }
        


        public ProgressDataNode() {}
    }
}
